home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Game / Thing / CEffectExplosion.as < prev    next >
Encoding:
Text File  |  2011-08-19  |  7.3 KB  |  225 lines

  1. package Local.Game.Thing
  2. {
  3.    import Local.*;
  4.    import Local.Draw.*;
  5.    import Local.Game.World.*;
  6.    import Local.Game.World.Map.*;
  7.    import Local.Game.World.Map.Cell.*;
  8.    import Local.Math.*;
  9.    import STC9.System.*;
  10.    import flash.display.*;
  11.    import flash.events.*;
  12.    import flash.geom.*;
  13.    
  14.    public class CEffectExplosion extends CEffect
  15.    {
  16.       
  17.       private static const mRenderedExplosions:int = 1;
  18.       
  19.       private static const mRSize:Number = 0;
  20.       
  21.       private static var mFFAlt:int = 0;
  22.        
  23.       
  24.       private var mNode:CNode;
  25.       
  26.       private var mAffectRadius:Number;
  27.       
  28.       public var mFastRender:Boolean;
  29.       
  30.       private var mDelayCount:int;
  31.       
  32.       public function CEffectExplosion(param1:String, param2:CPosition, param3:Number, param4:Number = 100, param5:int = 0)
  33.       {
  34.          if(true)
  35.          {
  36.             super(param2);
  37.             if(true)
  38.             {
  39.                mType = param1;
  40.                if(true)
  41.                {
  42.                   mDamage = param4;
  43.                   if(true)
  44.                   {
  45.                      mDelayCount = param5;
  46.                      if(true)
  47.                      {
  48.                         Process = Process_Normal;
  49.                         if(true)
  50.                         {
  51.                            IncrementBuild();
  52.                            if(true)
  53.                            {
  54.                               if(!AnimationExists("stand"))
  55.                               {
  56.                                  if(true)
  57.                                  {
  58.                                     ┬º┬ºpush(┬º┬ºfindproperty(AddAnimationAsFrames));
  59.                                     ┬º┬ºpush("stand");
  60.                                     ┬º┬ºpush(┬º┬ºfindproperty(CCE));
  61.                                     ┬º┬ºpush(param3);
  62.                                     ┬º┬ºpush(1 + Math.random() * mRSize);
  63.                                     if(true)
  64.                                     {
  65.                                        ┬º┬ºpush(┬º┬ºpop() - mRSize / 2);
  66.                                     }
  67.                                     ┬º┬ºpop().AddAnimationAsFrames(┬º┬ºpop(),new ┬º┬ºpop().CCE(┬º┬ºpop() * ┬º┬ºpop()).RenderFrames());
  68.                                     if(true)
  69.                                     {
  70.                                        addr75:
  71.                                        if(!SoundExists("explosion_1"))
  72.                                        {
  73.                                           if(true)
  74.                                           {
  75.                                              AddSound("explosion_1",Explosion_1);
  76.                                           }
  77.                                           AddSound("explosion_2",Explosion_2);
  78.                                        }
  79.                                        addr97:
  80.                                        SetAnimation("stand");
  81.                                        addr100:
  82.                                        mAnimationFrame = 0;
  83.                                        addr103:
  84.                                        var _loc6_:*;
  85.                                        var _loc7_:* = (_loc6_ = ┬º┬ºfindproperty(mFFAlt)).mFFAlt + 1;
  86.                                        ┬º┬ºpush(┬º┬ºfindproperty(mFastRender));
  87.                                        ┬º┬ºpush((_loc6_ = ┬º┬ºfindproperty(mFFAlt)).mFFAlt);
  88.                                        if(true)
  89.                                        {
  90.                                           _loc6_.mFFAlt = _loc7_;
  91.                                        }
  92.                                        ┬º┬ºpop().mFastRender = ┬º┬ºpop() % 2 == 0;
  93.                                        if(!mFastRender)
  94.                                        {
  95.                                           mAngle.mDelta = new CPosition(Math.random() - 0.5,Math.random() - 0.5);
  96.                                           addr144:
  97.                                           SetState("DELAY");
  98.                                           return;
  99.                                           addr125:
  100.                                        }
  101.                                        ┬º┬ºgoto(addr144);
  102.                                     }
  103.                                     AddSound("explosion_3",Explosion_3);
  104.                                  }
  105.                                  AddSound("explosion_4",Explosion_4);
  106.                                  ┬º┬ºgoto(addr97);
  107.                               }
  108.                            }
  109.                            ┬º┬ºgoto(addr75);
  110.                         }
  111.                         ┬º┬ºgoto(addr100);
  112.                      }
  113.                      ┬º┬ºgoto(addr103);
  114.                   }
  115.                   ┬º┬ºgoto(addr75);
  116.                }
  117.                ┬º┬ºgoto(addr125);
  118.             }
  119.          }
  120.          ┬º┬ºgoto(addr144);
  121.       }
  122.       
  123.       public function State_DELAY_Enter() : void
  124.       {
  125.          mInvisible = true;
  126.       }
  127.       
  128.       public function State_AFFECT_Enter() : void
  129.       {
  130.          PlaySound("explosion_" + Math.floor(Math.random() * 4 + 1));
  131.       }
  132.       
  133.       public function State_DELAY() : void
  134.       {
  135.          if(true)
  136.          {
  137.             var _loc1_:*;
  138.             ┬º┬ºpush((_loc1_ = ┬º┬ºfindproperty(mDelayCount)).mDelayCount);
  139.             if(true)
  140.             {
  141.                _loc1_.mDelayCount = _loc2_;
  142.                var _loc2_:*;
  143.                ┬º┬ºpush(_loc2_ = ┬º┬ºpop() - 1);
  144.             }
  145.             if(┬º┬ºpop() < 0)
  146.             {
  147.                SetState("AFFECT");
  148.             }
  149.          }
  150.       }
  151.       
  152.       public function State_AFFECT() : void
  153.       {
  154.          var _loc1_:* = undefined;
  155.          SetState("ANIMATEOUT");
  156.          Animate1();
  157.          GetAnimationFrame();
  158.          mLandscape.Explosion(mPosition,mSprite.mArea.width / 100);
  159.          for each(_loc1_ in GetThings_Radius(mSprite.mArea.width / 2))
  160.          {
  161.             if(true)
  162.             {
  163.                _loc1_.AffectByExplosion(this);
  164.             }
  165.          }
  166.       }
  167.       
  168.       public function State_ANIMATEOUT_Enter() : void
  169.       {
  170.       }
  171.       
  172.       public function State_DELAY_Exit() : void
  173.       {
  174.          mInvisible = false;
  175.       }
  176.       
  177.       public function State_ANIMATEOUT() : void
  178.       {
  179.          Animate1();
  180.          if(mAnimationFrame >= 1)
  181.          {
  182.             Dispose();
  183.          }
  184.       }
  185.       
  186.       public function State_AFFECT_Exit() : void
  187.       {
  188.       }
  189.       
  190.       override public function Draw() : void
  191.       {
  192.          if(true)
  193.          {
  194.             super.Draw();
  195.             if(true)
  196.             {
  197.                GetAnimationFrameQ();
  198.                if(true)
  199.                {
  200.                   if(!(CGlobal.mFastRender || mFastRender))
  201.                   {
  202.                      DrawSprite(GetOrientationMatrix());
  203.                   }
  204.                   ┬º┬ºgoto(addr49);
  205.                }
  206.                DrawSpriteQ();
  207.             }
  208.          }
  209.          addr49:
  210.       }
  211.       
  212.       public function Process_Normal() : void
  213.       {
  214.          if(Process_State != null)
  215.          {
  216.             Process_State();
  217.          }
  218.       }
  219.       
  220.       public function State_ANIMATEOUT_Exit() : void
  221.       {
  222.       }
  223.    }
  224. }
  225.